package pers.xx.sbm.base;

import com.aspose.words.BreakType;
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.ParagraphAlignment;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class PEConstant {
	public static String[] ALL_PE_ITEM = { "PE_ITEM1", "PE_ITEM2", "PE_ITEM3", "PE_ITEM4", "PE_ITEM5", "PE_ITEM6", "PE_ITEM7", "PE_ITEM8", "PE_ITEM9", "PE_ITEM10", "PE_ITEM11" };

	public static Map<String, String> peItemMap = new HashMap<>();
	public static Map<String, String> peItemUnitNameMap = new HashMap<>();
	public static List<String> cityReportOutlineList = new ArrayList<String>();
	public static List<String> areaReportOutlineList = new ArrayList<String>();
	public static List<String> physicalReportList = new ArrayList<String>();// 体检报告标签定位
	public static List<String> middleExamReportList = new ArrayList<String>();// 体检报告标签定位
	public static Map<Integer, List<String>> exceptItemMap = new HashMap<>();
	public static List<String> exceptItemList4 = new ArrayList<>();
	public static List<String> exceptItemList8 = new ArrayList<>();
	public static List<String> exceptItemList11 = new ArrayList<>();
	static {
		peItemMap.put("PE_ITEM1", "体重指数(BMI)");
		peItemMap.put("PE_ITEM2", "肺活量");
		peItemMap.put("PE_ITEM3", "50米跑");
		peItemMap.put("PE_ITEM4", "坐位体前屈");
		peItemMap.put("PE_ITEM5", "1分钟跳绳");
		peItemMap.put("PE_ITEM6", "1分钟仰卧起坐");
		peItemMap.put("PE_ITEM7", "50米×8往返跑");
		peItemMap.put("PE_ITEM8", "立定跳远");
		peItemMap.put("PE_ITEM9", "引体向上(男)");
		peItemMap.put("PE_ITEM10", "1000米跑(男)");
		peItemMap.put("PE_ITEM11", "800米跑(女)");
		
		peItemUnitNameMap.put("PE_ITEM1", "千克/米2");
		peItemUnitNameMap.put("PE_ITEM2", "毫升");
		peItemUnitNameMap.put("PE_ITEM3", "秒");
		peItemUnitNameMap.put("PE_ITEM4", "厘米");
		peItemUnitNameMap.put("PE_ITEM5", "次");
		peItemUnitNameMap.put("PE_ITEM6", "次");
		peItemUnitNameMap.put("PE_ITEM7", "分·秒");
		peItemUnitNameMap.put("PE_ITEM8", "厘米");
		peItemUnitNameMap.put("PE_ITEM9", "次");
		peItemUnitNameMap.put("PE_ITEM10", "分·秒");
		peItemUnitNameMap.put("PE_ITEM11", "分·秒");
		
		exceptItemList4.add("PE_ITEM8");
		exceptItemList4.add("PE_ITEM9");
		exceptItemList4.add("PE_ITEM10");
		exceptItemList4.add("PE_ITEM11");
		
		exceptItemList8.add("PE_ITEM5");
		exceptItemList8.add("PE_ITEM7");

		exceptItemList11.add("PE_ITEM5");
		exceptItemList11.add("PE_ITEM7");
		
		exceptItemMap.put(4, exceptItemList4);
		exceptItemMap.put(8, exceptItemList8);
		exceptItemMap.put(11, exceptItemList11);
		
		cityReportOutlineList.add("report3_1_1");
		cityReportOutlineList.add("report3_2_1");
		cityReportOutlineList.add("report4_1_1");
		cityReportOutlineList.add("report4_1_2");
		cityReportOutlineList.add("report4_2_1");
		cityReportOutlineList.add("report4_2_2");
		cityReportOutlineList.add("report4_3_1");
		cityReportOutlineList.add("report4_3_2");
		cityReportOutlineList.add("report4_4_1");
		cityReportOutlineList.add("report4_4_2");
		cityReportOutlineList.add("report4_5_1");
		cityReportOutlineList.add("report4_5_2");
		cityReportOutlineList.add("report4_6_1_1");
		cityReportOutlineList.add("report4_6_2_1");
		cityReportOutlineList.add("report4_6_3_1");
		cityReportOutlineList.add("report4_6_4_1");
		cityReportOutlineList.add("report4_6_5_1");

		cityReportOutlineList.add("report4_6_1_2");
		cityReportOutlineList.add("report4_6_2_2");
		cityReportOutlineList.add("report4_6_3_2");
		cityReportOutlineList.add("report4_6_4_2");
		cityReportOutlineList.add("report4_6_5_2");

		areaReportOutlineList.add("report3_1");
		areaReportOutlineList.add("report3_2");
		areaReportOutlineList.add("report4_1_1");
		areaReportOutlineList.add("report4_2_1");
		areaReportOutlineList.add("report4_3_1");
		areaReportOutlineList.add("report4_4_1");
		areaReportOutlineList.add("report4_5_1");
//		areaReportOutlineList.add("report5_1_1_1");
//		areaReportOutlineList.add("report5_1_1_2");
//		areaReportOutlineList.add("report5_1_1_3");
//		areaReportOutlineList.add("report5_1_2");
//		areaReportOutlineList.add("report5_2_1_1");
//		areaReportOutlineList.add("report5_2_1_2");
//		areaReportOutlineList.add("report5_2_1_3");
//		areaReportOutlineList.add("report5_2_2");
//		areaReportOutlineList.add("report5_3_1_1");
//		areaReportOutlineList.add("report5_3_1_2");
//		areaReportOutlineList.add("report5_3_1_3");
//		areaReportOutlineList.add("report5_3_2");
//		areaReportOutlineList.add("report5_4_1_1");
//		areaReportOutlineList.add("report5_4_1_2");
//		areaReportOutlineList.add("report5_4_1_3");
//		areaReportOutlineList.add("report5_4_2");
//		areaReportOutlineList.add("report5_5_1_1");
//		areaReportOutlineList.add("report5_5_1_2");
//		areaReportOutlineList.add("report5_5_1_3");
//		areaReportOutlineList.add("report5_5_1_4");
//		areaReportOutlineList.add("report5_6_1_1");
//		areaReportOutlineList.add("report5_6_1_2");
//		areaReportOutlineList.add("report5_6_2");

		physicalReportList.add("report2_1");
		physicalReportList.add("report2_2");
		physicalReportList.add("report3_1");
		physicalReportList.add("report3_1_1");
		physicalReportList.add("report3_2");
		physicalReportList.add("report3_2_1");
		physicalReportList.add("report3_3");
		physicalReportList.add("report3_3_1");
		physicalReportList.add("report3_4");
		physicalReportList.add("report3_4_1");
		physicalReportList.add("report3_5");
		physicalReportList.add("report3_5_1");
		physicalReportList.add("report3_6");
		physicalReportList.add("report3_6_1");
		physicalReportList.add("report3_7_1");
		physicalReportList.add("report3_7_2");
		physicalReportList.add("report3_7_3");
		physicalReportList.add("report3_7_4");
		physicalReportList.add("report3_7_5");
		physicalReportList.add("report3_7_6");
		physicalReportList.add("report4_1_1");
		physicalReportList.add("report4_1_2");
		physicalReportList.add("report4_1_3");
		physicalReportList.add("report4_1_4");
		physicalReportList.add("report4_1_5");
		physicalReportList.add("report4_2_1");
		physicalReportList.add("report4_2_2");
		physicalReportList.add("report4_2_3");
		physicalReportList.add("report4_2_4");
		physicalReportList.add("report4_2_5");
		physicalReportList.add("report4_3_1");
		physicalReportList.add("report4_3_2");
		physicalReportList.add("report4_3_3");
		physicalReportList.add("report4_3_4");
		physicalReportList.add("report4_3_5");
		physicalReportList.add("report4_4_1");
		physicalReportList.add("report4_4_2");
		physicalReportList.add("report4_4_3");
		physicalReportList.add("report4_4_4");
		physicalReportList.add("report4_4_5");
//		physicalReportList.add("report4_5");
//		physicalReportList.add("report4_6");
//		physicalReportList.add("report4_7");
//		physicalReportList.add("report5_1");
//		physicalReportList.add("report5_2");
		
		middleExamReportList.add("report2_1");
		middleExamReportList.add("report2_2");
		middleExamReportList.add("report2_3");
		middleExamReportList.add("report2_4");
		middleExamReportList.add("report2_5");
		middleExamReportList.add("report3_1");
		middleExamReportList.add("report3_2");
		middleExamReportList.add("report4_1");
		middleExamReportList.add("report4_1_1");
		middleExamReportList.add("report4_2");
		middleExamReportList.add("report4_2_1");
		middleExamReportList.add("report4_2_1_1");
		middleExamReportList.add("report4_2_2");
		middleExamReportList.add("report4_2_2_1");
		middleExamReportList.add("report4_3");
		middleExamReportList.add("report4_3_1");
		middleExamReportList.add("report4_3_1_1");
		middleExamReportList.add("report4_3_2");
		middleExamReportList.add("report4_3_2_1");
		middleExamReportList.add("report4_3_3");
		middleExamReportList.add("report4_3_3_1");
		middleExamReportList.add("report4_3_4");
		middleExamReportList.add("report4_3_4_1");
		middleExamReportList.add("report4_3_5");
		middleExamReportList.add("report4_3_5_1");
	}

	public static void addOuline(Document doc) throws Exception {
		DocumentBuilder builder = new DocumentBuilder(doc);
		// 将光标移到目录书签
		builder.moveToDocumentStart();

		// 设置目录的格式
		// “目录”两个字居中显示、加粗、搜宋体
		builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
		builder.setBold(true);
		builder.getFont().setName("宋体");
		builder.getFont().setSize(20);
		builder.writeln("目录");
		
		// 插入目录，这是固定的
		builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");
		builder.insertBreak(BreakType.PAGE_BREAK);
		doc.updateFields();
	}
}
